package top.raoqq.sky.entity.sql;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.util.List;

/**
 * @author 饶奇奇
 * @date 2023/8/14
 */
@Data
@TableName("sky_role")
public class Role extends BaseEntity {

    /**
     *  角色id
     */
    @TableId
    private Long id;

    /**
     * 角色名字
     */
    @TableField("role_name")
    @NotBlank(message = "角色名不能为空")
    @Size(max = 30, message = "角色名最大不能超过30个字符")
    private String roleName;

    /**
     * 角色权限字符串
     */
    @TableField("role_key")
    @NotBlank(message = "权限字符不能为空")
    @Size(max = 30, message = "权限字符最大不能超过30个字符")
    private String roleKey;

    /**
     * 角色排序字段
     */
    @TableField("role_sort")
    @NotNull(message = "角色排序字段不能为空")
    @Min(value = 0, message = "不能为负数")
    private Integer roleSort;

    /**
     * 备注信息
     */
    @TableField("remark")
    private String remark;

    @TableField(exist = false)
    private List<Long> menuIdList;

}
